package com.kevinkk.tree;

/**
 * 给定二叉树的根节点 root ，返回所有左叶子之和。
 *
 * 左叶子的判断方法：
 *  1. 是一个叶子节点，即左右孩子为空
 *  2. 需要在倒数第二层才能判断一个节点是不是 左 叶子节点
 */

public class SumOfLeftLeaves {
    class Solution {
        public int sumOfLeftLeaves(TreeNode root) {
            if(root == null) return 0;
            int res = 0;
            if(root.left != null){
                if(root.left.left == null && root.left.right == null){
                    res += root.left.val;
                }
            }

            int left = sumOfLeftLeaves(root.left);
            int right = sumOfLeftLeaves(root.right);
            return res + left + right;
        }
    }
}
